﻿Imports System.ServiceModel
Imports WSEntidades

' NOTA: puede usar el comando "Cambiar nombre" del menú contextual para cambiar el nombre de interfaz "IServiceConfiguracion" en el código y en el archivo de configuración a la vez.
<ServiceContract()>
Public Interface IServiceConfiguracion

#Region "CatalogoImpFederales"
    <OperationContract()>
    Function ActualizaImpuestosFederales(ByVal tokenConexion As String, ByVal ImpFederales As ImpFederalesBE, ByRef detResp As DetalleRespuesta) As Boolean

    <OperationContract()>
    Function GetImpuestosFederales(ByVal tokenConexion As String, ByRef cantDecimalesImpuestos As Int16, ByRef detResp As DetalleRespuesta) As ImpFederalesBE
#End Region

#Region "CatalogoTipoDocumentos"
    <OperationContract()>
    Function ActualizaTipoDocumentos(ByVal tokenConexion As String, ByVal TipoDocumentos As TipoDocumentosBE, ByRef detResp As DetalleRespuesta) As Boolean

    <OperationContract()>
    Function GetTipoDocumentos(ByVal tokenConexion As String, ByRef detResp As DetalleRespuesta) As TipoDocumentosBE
#End Region

#Region "CatalogoParamEmi"
    '<OperationContract()>
    'Function RegistrarParamEmi(ByVal tokenConexion As String, ByVal ParamEmi As ParamEmiBE, ByVal ParamEmiPrede As ParamEmiPredeBE, ByRef detResp As DetalleRespuesta) As Boolean

    <OperationContract()>
    Function ActualizaParametrosEmision(ByVal tokenConexion As String, ByVal ParamEmi As ParametrosEmisionBE, ByVal ParamEmiPrede As ParametrosEmisionPredeterminadosBE, ByRef detResp As DetalleRespuesta) As Boolean

    <OperationContract()>
    Function GetParametrosEmision(ByVal tokenConexion As String, ByRef detResp As DetalleRespuesta) As ParametrosEmisionBE

    <OperationContract()>
    Function GetParamemtrosEmisionPredeterminados(ByVal tokenConexion As String, ByRef detResp As DetalleRespuesta) As ParametrosEmisionPredeterminadosBE

    <OperationContract()>
    Sub GetConfiguracionDecimales(ByVal tokenconexion As String, ByRef decEnCantidades As Int16,
                                              ByRef decEnPrecios As Int16, ByRef decEnImpuestos As Int16,
                                              ByRef decEnTotales As Int16)


#End Region

#Region "CatalogoComplementos"
    <OperationContract()>
    Function ActualizaComplemento(ByVal tokenConexion As String, ByVal Complemento As ComplementosBE, ByRef detResp As DetalleRespuesta) As Boolean

    <OperationContract()>
    Function GetComplemento(ByVal tokenConexion As String, ByVal clave As String, ByRef detResp As DetalleRespuesta) As ComplementosBE
#End Region

#Region "CatalogoCompLeyendasFiscales"
    <OperationContract()>
    Function RegistrarLeyenda(ByVal tokenConexion As String, ByVal Leyenda As CompLeyendasFiscBE, ByRef detResp As DetalleRespuesta) As Boolean

    <OperationContract()>
    Function ActualizaLeyenda(ByVal tokenConexion As String, ByVal Leyenda As CompLeyendasFiscBE, ByRef detResp As DetalleRespuesta) As Boolean

    <OperationContract()>
    Function GetLeyenda(ByVal tokenConexion As String, ByVal Id As Integer, ByRef detResp As DetalleRespuesta) As CompLeyendasFiscBE

    <OperationContract()>
    Function GetListadoLeyenda(ByVal tokenConexion As String, ByRef detResp As DetalleRespuesta) As List(Of CompLeyendasFiscBE)

#End Region

    '#Region "CatalogoConfigComplementos"
    '    <OperationContract()>
    '    Function ActualizaConfigComplementos(ByVal tokenConexion As String, ByVal ConfigComplementos As ConfigComplementosBE, ByRef detResp As DetalleRespuesta) As Boolean

    '    <OperationContract()>
    '    Function GetConfigComplementos(ByVal tokenConexion As String, ByVal CveComp As String, ByRef detResp As DetalleRespuesta) As ConfigComplementosBE
    '#End Region

#Region "CatalogoComplementoDonatarias"
    <OperationContract()>
    Function ActualizaDonatarias(ByVal tokenConexion As String, ByVal Donatarias As CDonatariasBE, ByRef detResp As DetalleRespuesta) As Boolean

    <OperationContract()>
    Function GetDonatarias(ByVal tokenConexion As String, ByRef detResp As DetalleRespuesta) As CDonatariasBE
#End Region

#Region "CatalogoComplementoIEDU"
    <OperationContract()>
    Function ActualizaIedu(ByVal tokenConexion As String, ByVal Iedu As CIeduBE, ByRef detResp As DetalleRespuesta) As Boolean

    <OperationContract()>
    Function GetIedu(ByVal tokenConexion As String, ByRef detResp As DetalleRespuesta) As CIeduBE
#End Region

#Region "Reportes"
    <OperationContract()>
    Function ListadoReportesCFDI(ByVal pRfcEmisor As String) As List(Of String)
#End Region

End Interface
